package br.com.ebc.icontatos.jdbcconnection;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;

import br.com.ebc.icontatos.model.GrupoEnvio;

public class DBGrupoEnvioDAO extends DAOBase{

	@Override
	public Object createObject(ResultSet rs) throws SQLException {
		GrupoEnvio grupoEnvio = new GrupoEnvio();
		grupoEnvio.setIdGrupoEnvio(rs.getLong("IDGRUPOENVIO"));
		grupoEnvio.setNomeGrupoEnvio(rs.getString("NOMEGRUPOENVIO"));
		grupoEnvio.setDataCriacao(rs.getDate("DATACRIACAO"));
		return grupoEnvio;
	}

	@Override
	public String getTableName() {
		return "GrupoEnvio";
	}

	@SuppressWarnings("rawtypes")
	@Override
	public Collection selecionarTodos() {
		return selectObjets("");
	}
	
	public Long max(Long id){
		Long result = 0L;
		String sql = "SELECT COUNT(gu.usuarios_idUsuario) FROM " + getTableName() + " as g, GrupoEnvio_Usuario as gu WHERE g.idGrupoEnvio = " + id + " AND g.idGrupoEnvio = gu.grupoEnvios_idGrupoEnvio";
		Connection com = null;
		ResultSet rs = null;
		Statement st = null;
		
		try{
			com = DBConnection.getConnection();
			st = com.createStatement();
			rs = st.executeQuery(sql);
			rs.next();
			result = rs.getLong(1);
		}catch (NumberFormatException e) {
			System.out.println(" Erro " + e);
		}catch(SQLException e){
			System.out.println(" Erro " + e);
		}finally{
			DBConnection.closeResultSet(rs);
			DBConnection.closeStatement(st);
			DBConnection.closeConnection(com);
		} 
		return result;
	}
	
}
